app.directive(ꞌappPopoverMenuUtilsꞌ)   B
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 25

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 25
rs 8.8571
c 1
b 0
f 0
cc 1
nc 1
nop 0

1 Function

Rating   Name   Duplication   Size   Complexity  
A ��) 0 19 1
1
/*
2
 * @copyright Copyright (c) 2016 Julius Härtl <[email protected]>
3
 *
4
 * @author Julius Härtl <[email protected]>
5
 *
6
 * @license GNU AGPL version 3 or any later version
7
 *  
8
 *  This program is free software: you can redistribute it and/or modify
9
 *  it under the terms of the GNU Affero General Public License as
10
 *  published by the Free Software Foundation, either version 3 of the
11
 *  License, or (at your option) any later version.
12
 *  
13
 *  This program is distributed in the hope that it will be useful,
14
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
15
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
 *  GNU Affero General Public License for more details.
17
 *  
18
 *  You should have received a copy of the GNU Affero General Public License
19
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
 *  
21
 */
22
23
app.directive('appPopoverMenuUtils', function () {
24
    'use strict';
25
    return {
26
        restrict: 'C',
27
        link: function (scope, elm) {
28
            var menu = elm.find('.popovermenu');
29
            var button = elm.find('button');
30
            button.click(function (e) {
31
                menu.toggleClass('hidden');
32
                if(!menu.hasClass('hidden')) {
33
                    button.css('display','block');
34
                } else {
35
                    button.css('display','');
36
                }
37
				e.stopPropagation();
38
			});
39
            scope.$on('documentClicked', function (scope, event) {
40
                if (event.target !== button) {
41
                    menu.addClass('hidden');
42
                }
43
                button.css('display','');
44
            });
45
        }
46
    };
47
});
48
49